import java.util.*;
import java.io.*;

public class FileSplitter 
{
	
	
	
	public static void ShowHelp()
	{
		Scanner help=null;
		
		try
		{
		help=new Scanner(new File("help.txt"));
		
		while(help.hasNextLine())
		{
			
			System.out.println(help.nextLine());
		}
		
		
		}
		catch(Exception e)
		{
			System.out.println("Erro ao abrir o ficheiro de ajuda");
		}
		finally
		{
			
			if(help!=null)
			{
				help.close();
			
			}
		}
		
		
		System.out.println("\n\n");
	}
	
	
	
	
	public static void main(String[] args) throws IOException
	{
		Scanner teclado=new Scanner(System.in);
		FileHandling obj=new FileHandling();
		Menu menu=new Menu();
		String filename="";
		int size_pieces=0;
		
		while(true)
		{
		
		menu.Show();
		int op=menu.getOpcao();
		if(op==1)
		{
			
			do
			{
			System.out.println("Introduza o nome do ficheiro que pretende dividir");
			filename=teclado.nextLine().trim();
			
			if(filename.trim().equals("\\quit"))
			{
				break;
			}
			
			}
			while(!new File(filename).exists());
			
			
			
			int bytes=0;
			
			
			if(!filename.equals("\\quit"))
			{
			
			do
			{
				System.out.println("Indique o numero de bytes de cada ficheiro:");
				try
				{
				bytes=teclado.nextInt();
				}
				catch(Exception e)
				{
									
					bytes=0;
					teclado.nextLine();
				}

			}
			while(bytes<=0);
			
			
			
			
			obj.SplitFile(filename,bytes,".k");
			
			}
			
			
		}
		//fim opcao 1
		
		if(op==2)
		{

			do
			{
			System.out.println("Introduza o nome do ficheiro de configuracao(ficheiro com extensao .knf)");
			filename=teclado.nextLine();
			
			if(filename.trim().equals("\\quit"))
			{
				break;
			}
			
			}
			while(!new File(filename).exists());
			
			if(!filename.equals("\\quit"))
			obj.getOriginalFile(filename);
			
		}
		
		//filename="";//limpa a variavel do nome do ficheiro
		
		
		
		if(op==3)
		{
			ShowHelp();
			
		}
		
		if(op==4)
			break;
		
	}//fim while menu
		
	
		
		
	}

}
